Product Tracking

Product position maybe sent from a device (PLC etc.) to Sym3 via a message. Product position can be manipulated via the scripting API using the following functions.

 

Product UpdateProductPosition(Object target, Number distance, String identifier);

Called to position product at a certain distance along the transfer path of an equipment instance, the system will locate the correct product instance based on the 'identifier' field

 

Name Type Description
target Object The transporter that the product will be moved to. NOTE, the transporter 'Tracking Mode' will need to be set to the 'Tracking' state for it to accept tracking product placement
distance Number The position the product will be moved to, this refers to the leading edge of the product. Value is in metres.
identifier String An unique string value that identifies the product, if the product cannot be found then a new instance will be created

The return value is an instance of the product that has been positioned at the desired location, this may be a new instance or one that already existed, this is determined by the 'identifier', a null value indicates the product positioning failed, this may be due to the transporter not being in the correct tracking state

Example:

function OnSimulationStart() {
  SetComponentKey("LocationID");
}

function ProductTracking(msg, hdr) {
  var product = UpdateProductPosition(GetComponentByKey("LocationID", msg.locationid), msg.distance, msg.BC);
  if (product != null) {
    product.Text = msg.BC;
    product.Length = msg.l;
    product.Width = msg.w;
    product.Height = msg.h;
    product.Direction = msg.d;
  }
}
 

The above assumes a message has been defined that contains the fields 'BC','l','w','h' and 'd'.